The incorporation of mobile users into data networks has created various challenges to the management of those networks. For example, as a mobile user moves from one portion of the network to another, the user may move from a cell within the network which is able to provide the user with the necessary bandwidth for the session in which the user is engaged to a cell which is already overloaded with data traffic. This unfortunate circumstance may result in the loss of data or the unwanted termination of a data communications session.
Most existing mobile communication networks are circuit switched networks where each interaction with the user is dedicated a circuit. Each circuit has a defined data transfer rate. For example, a typical circuit might have the capability to transfer data at 64 kilobits per seconds. In a circuit switched environment, when a user requests service from a particular cell of the network, the cell merely has to determine whether or not a circuit is available. Circuit switched environments are very inefficient in this context, however, because the dedication of a full circuit to a data session may not utilize the full bandwidth of the circuit. In addition, other services may require more data transfer capability and more bandwidth than a single circuit can provide.
Modern wireless data networks include different quality of service levels within the same data network. Using these quality of service levels, a user can contract with a provider to insure an appropriate level of bandwidth and priority availability of bandwidth. The data networks must be able to differentiate between the various quality of service levels and the data communications sessions which are occurring within each service level. The ability to parse the total bandwidth into varying service levels and varying bandwidth allocations greatly enhances the services that can be offered by a data communications network but greatly complicates the decision as to whether or not a new user to a cell is allowed to begin a session. In the past, data networks have attempted to address this problem by allocating fixed percentages of the total bandwidth to various service levels offered. Once again, however, this is a highly inefficient allocation of bandwidth and can result in users of the network being rejected even though sufficient bandwidth is available to provide the session.